ChatGPT versucht sich an 6502 (6510) Assembler

← Zurück zum Forum

cas schrieb: ChatGPT versucht sich an 6502 (6510) Assembler

(so in der Mitte)

https://www.youtube.com/watch?v=jLfDYqHMExc

Habe es jetzt auch mal versucht. Ich glaube, da muss ChatGPT noch einiges lernen. Bei einem kleinen "Hallo Welt!" nimmt er beispielsweise eine fest verdrahtete Adresse des Bildschirms an und für die Speicherzelle des Rahmens (Dezimal) nimmt er die des C64. Er sollte dort dezimal 52 (rot), nimmt stattdessen hexadezimal $52 (lila) usw.

Wenn es interessiert, kann ich hier mal den Chatverlauf einstellen, der ist aber sehr lang.

AntwortZitat

Also gedacht war es, dass er am Ende des Programmes noch die Rahmenfarbe von schwarz auf rot stellt, einfach um zu erkennen, das alles durchgelaufen ist.

Naja, nach einiger Zeit des Probierens und Korrigierens hat ChatGPT das Programm tatsächlich erstellen können. Hoffentlich ist ChatGPT so lernfähig, dass der nächste, der diese Aufgabe erfüllen möchte, gleich das richtige und fehlerfreie Programm erhält

AntwortZitat

Man müsste ChatGPT einen Emulator zur Verfügung stellen, um aus seinen Fehlern zu lernen. Das kann es nämlich tatsächlich. Zumindest bis zur nächsten Antwort.

Aber wenn es ständig Code raushaut, in dem den 8 Bit Registern Zahlen größer 255 zugewiesen werden, ist es für 6502 Assembler einfach mal zu blöd.

ChatGPT kann aber den Umgang mit großen Zahlen nicht lernen, wenn es dafür keine wohlbekannte Standard-Implementierung gibt. Es ist halt nur ein besserer Text-Parser, mehr nicht.

http://fujiama.eu https://abbuc.de/~atarixle/ BOSS-X - das Finale: https://abbuc.de/~atarixle/?article=bossxfinaleditionprerelease

AntwortZitat

Hmm, den Fehler hatte ich nicht, dafür hat chatGPT CIO (mit sehr vielen Fehlern, die ich korrigieren musste) benutzt, statt eine ordentliche Displaylist.

Da hatte ich dann aber keine Energie mehr, dem Programm noch weiter beizubringen, wie man den Atari richtig oder besser gesagt: effizient programmiert.

AntwortZitat

So. Hier nun mal der Quelltext für ein "Hallo Welt!" mittels DisplayList wie er von chatGPT "programmiert" wurde. Läuft einwandfrei unter MADS und der Quelltext kann sich doch sehen lassen. Brauchte ein paar Hilfestellungen, aber die KI wird tatsächlich besser und besser.

            ORG $2000              ; Setzt den Startpunkt des Programms bei Adresse $2000

Start:      LDA #<DisplayList      ; Lädt das Low-Byte der Display List Adresse
            STA $0230              ; Setzt das Display List Low Byte (DLISTL) auf $0230
            LDA #>DisplayList      ; Lädt das High-Byte der Display List Adresse
            STA $0231              ; Setzt das Display List High Byte (DLISTH) auf $0231

Endlos:     JMP Endlos             ; Endlosschleife, um das Programm zu stoppen

; "Hallo Welt!" in Atari-Zeichensatznummerierung
Text:       .byte $28, $61, $6C, $6C, $6F, $00, $37, $65, $6C, $74, $01  ; "Hallo Welt!"
            .rept (40 - 11)        ; Der Bildschirm hat 40 Zeichen pro Zeile, fülle den Rest der Zeile mit Nullen
            .byte $00
            .endr

; Fülle die gesamte Bildschirmhöhe mit Nullen
BlankLines:
            .rept 24               ; Die restlichen 24 Zeilen
            .byte $00              ; Füllt jede Zeile mit Nullen
            .rept 40
            .byte $00              ; Jede Zeile hat 40 Zeichen
            .endr
            .endr

DisplayList:
            .byte $70              ; 1 leere Zeile (VBLANK)
            .byte $42, <Text, >Text ; 1. Zeile im Textmodus mit LMS-Befehl, lädt ab Adresse "Text"
            .rept 24
            .byte $02              ; Weitere 24 Zeilen im Textmodus (GRAPHICS 0)
            .endr
            .byte $41, <DisplayList, >DisplayList  ; Sprung an den Anfang der Displaylist
            .byte $00              ; Endmarker der Displaylist
AntwortZitat

. Hallo Leute

So lange wie das KatzenGPT noch keinen Atari vernünftig programmieren kann, müssen wir uns bei Softwarewettbewerb nicht fragen ob jemand was eingereicht hat, was er sich vom Code her nicht selber ausgedacht hat.

Tschüß

Mathy

Schreibe nicht der Absicht zu, was man mit Dummheit oder Ignoranz erklären kann.

AntwortZitat

Mathy schrieb: . Hallo Leute

So lange wie das KatzenGPT noch keinen Atari vernünftig programmieren kann, müssen wir uns bei Softwarewettbewerb nicht fragen ob jemand was eingereicht hat, was er sich vom Code her nicht selber ausgedacht hat.

Tschüß

Mathy

Das ist ja gerade der Witz. Das "Hallo Welt!"-Programm funktioniert einwandfrei. Also einreichen könnte man es, auch wenn es wohl keinen Preis gewinnen würde

AntwortZitat